package YahooFinance;

import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
 
/**
 * Klassische Implementierung des Singleton-Patterns
 */
public class MarketDataBeanRepository {
	
    private static MarketDataBeanRepository instance = null;
    private HashMap<StockID, MarketDataBean> stockData = new HashMap<StockID, MarketDataBean>();
    
    /**
     * Default-Konstruktor, der nicht außerhalb dieser Klasse
     * aufgerufen werden kann
     */
    private MarketDataBeanRepository() {}
 
    /**
     * Statische Methode, liefert die einzige Instanz dieser
     * Klasse zurück
     */
    public static MarketDataBeanRepository getInstance() {
        if (instance == null) {
            instance = new MarketDataBeanRepository();
        }
        return instance;
    }
    
    public void putToRepo(MarketDataBean pMarketDataBean) {
    	StockID lStockID = new StockID(pMarketDataBean.symbol, pMarketDataBean.date);
    	stockData.put(lStockID, pMarketDataBean);
	}
    
    public void writeAllEntriesToConsole(){
    	Set<Entry<StockID, MarketDataBean>> stockSet = stockData.entrySet();
    	for (Entry entry: stockSet){
    		System.out.println(entry.getKey() + "-->" + String.valueOf(((MarketDataBean)entry.getValue()).getPrice()));
    	}
    }
}